/*
 * Cpu.h
 *
 *  Created on: Dec 24, 2009
 *      Author: artur
 */

#ifndef CPU_H_
#define CPU_H_

#include <ArchCpu.h>
#include <sys/sched/task/Task.h>

#include <kiddie/command.h>

namespace kernel {
namespace cpu {

/*
 *
 */
class Cpu : public ArchCpu
{
public:
	Cpu();
	~Cpu();
	Cpu &operator <<(kernel::cmd::CMD mode);
	
private:
	kernel::sys::sched::task::Task *current;
        void init(void);
        void idle(void);
        void halt(void);
};

}
}

#endif /* CPU_H_ */
